<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: src/ir_Carrier.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IRremoteESP8266
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ir_Carrier.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ir__Carrier_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright 2020 David Conran</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Supports:</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 42QG5A55970 remote</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 619EGX0090E0 A/C</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 619EGX0120E0 A/C</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 619EGX0180E0 A/C</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 619EGX0220E0 A/C</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 53NGK009/012 Inverter</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160; </div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#ifndef IR_CARRIER_H_</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#define IR_CARRIER_H_</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __STDC_LIMIT_MACROS</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;Arduino.h&gt;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRsend_8h.html">IRsend.h</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifdef UNIT_TEST</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;IRsend_test.h&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// Constants</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// CARRIER_AC64</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a3aa65474b5be8c77d498b7e83d8b8f31">   33</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a3aa65474b5be8c77d498b7e83d8b8f31">kCarrierAc64ChecksumOffset</a> = 16;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a0b446c17c4965508f335e68c786f0596">   34</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a0b446c17c4965508f335e68c786f0596">kCarrierAc64ChecksumSize</a> = 4;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a7f2ef38df606cb00f1c859914fc6f085">   35</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a7f2ef38df606cb00f1c859914fc6f085">kCarrierAc64ModeOffset</a> = <a class="code" href="ir__Carrier_8h.html#a3aa65474b5be8c77d498b7e83d8b8f31">kCarrierAc64ChecksumOffset</a> +</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                                       <a class="code" href="ir__Carrier_8h.html#a0b446c17c4965508f335e68c786f0596">kCarrierAc64ChecksumSize</a>;  <span class="comment">// 20</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a8d28dd57b7ad6b9f4bb2ba11fa4b63f7">   37</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a8d28dd57b7ad6b9f4bb2ba11fa4b63f7">kCarrierAc64ModeSize</a> = 2;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#ac261ba8bff6f103bb9043c85a6f21d58">   38</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#ac261ba8bff6f103bb9043c85a6f21d58">kCarrierAc64Heat</a> = 0b01;  <span class="comment">// 1</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#aa75d5965da484d09f6f4c645cdb23869">   39</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#aa75d5965da484d09f6f4c645cdb23869">kCarrierAc64Cool</a> = 0b10;  <span class="comment">// 2</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a57655ceea762b18e0dd96724ddf888bd">   40</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a57655ceea762b18e0dd96724ddf888bd">kCarrierAc64Fan</a> =  0b11;  <span class="comment">// 3</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#abbd2da4887e1c313df40506c82cba836">   41</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#abbd2da4887e1c313df40506c82cba836">kCarrierAc64FanOffset</a> = <a class="code" href="ir__Carrier_8h.html#a7f2ef38df606cb00f1c859914fc6f085">kCarrierAc64ModeOffset</a> +</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;                                      <a class="code" href="ir__Carrier_8h.html#a8d28dd57b7ad6b9f4bb2ba11fa4b63f7">kCarrierAc64ModeSize</a>;  <span class="comment">// 22</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#aebcfb795028fea2d1b4bfde9a045e672">   43</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#aebcfb795028fea2d1b4bfde9a045e672">kCarrierAc64FanSize</a> = 2;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a12d1fb295a0d9cf407040ab544acc245">   44</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a12d1fb295a0d9cf407040ab544acc245">kCarrierAc64FanAuto</a> =    0b00;  <span class="comment">// 0</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#aaeee61e5924bdc8028c4775f96ba14d2">   45</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#aaeee61e5924bdc8028c4775f96ba14d2">kCarrierAc64FanLow</a> =     0b01;  <span class="comment">// 1</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#aeb8943f8d9f2bd95a9df6500eea7cba4">   46</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#aeb8943f8d9f2bd95a9df6500eea7cba4">kCarrierAc64FanMedium</a> =  0b10;  <span class="comment">// 2</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a099f2e82998bd78d25cec17a4be5f230">   47</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a099f2e82998bd78d25cec17a4be5f230">kCarrierAc64FanHigh</a> =    0b11;  <span class="comment">// 3</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a3d3663b7e55cae59f1b8bba5ffbb5fad">   48</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a3d3663b7e55cae59f1b8bba5ffbb5fad">kCarrierAc64TempOffset</a> = <a class="code" href="ir__Carrier_8h.html#abbd2da4887e1c313df40506c82cba836">kCarrierAc64FanOffset</a> +</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                                       <a class="code" href="ir__Carrier_8h.html#aebcfb795028fea2d1b4bfde9a045e672">kCarrierAc64FanSize</a>;  <span class="comment">// 24</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#ae9e16d5ab69b493607ce84dfbded150f">   50</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#ae9e16d5ab69b493607ce84dfbded150f">kCarrierAc64TempSize</a> = 4;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a9e7a88bf52839ecb34da1966bb8a956b">   51</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a9e7a88bf52839ecb34da1966bb8a956b">kCarrierAc64MinTemp</a> = 16;  <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a5653bc180a4c849b5e0b33b957255ae4">   52</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a5653bc180a4c849b5e0b33b957255ae4">kCarrierAc64MaxTemp</a> = 30;  <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a186dcc18acb75f98370d71f4640f02ce">   53</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a186dcc18acb75f98370d71f4640f02ce">kCarrierAc64SwingVOffset</a> = <a class="code" href="ir__Carrier_8h.html#a3d3663b7e55cae59f1b8bba5ffbb5fad">kCarrierAc64TempOffset</a> +</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                                         <a class="code" href="ir__Carrier_8h.html#ae9e16d5ab69b493607ce84dfbded150f">kCarrierAc64TempSize</a> + 1;  <span class="comment">// 29</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a943b94e79e98237678b66f6f4a1b6af4">   55</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a943b94e79e98237678b66f6f4a1b6af4">kCarrierAc64PowerOffset</a> = <a class="code" href="ir__Carrier_8h.html#a186dcc18acb75f98370d71f4640f02ce">kCarrierAc64SwingVOffset</a> + 6 + 1;  <span class="comment">// 36</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a1afcf0873e42c5cda5328bfe97d97ade">   56</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a1afcf0873e42c5cda5328bfe97d97ade">kCarrierAc64OffTimerEnableOffset</a> =</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <a class="code" href="ir__Carrier_8h.html#a943b94e79e98237678b66f6f4a1b6af4">kCarrierAc64PowerOffset</a> + 1;  <span class="comment">// 37</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a8a03bb9d7ead5116dff0b81732300b40">   58</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a8a03bb9d7ead5116dff0b81732300b40">kCarrierAc64OnTimerEnableOffset</a> =</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <a class="code" href="ir__Carrier_8h.html#a1afcf0873e42c5cda5328bfe97d97ade">kCarrierAc64OffTimerEnableOffset</a> + 1;  <span class="comment">// 38</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a8ae023f5e44d5c29df41ab0f5cd534a0">   60</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a8ae023f5e44d5c29df41ab0f5cd534a0">kCarrierAc64SleepOffset</a> =</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <a class="code" href="ir__Carrier_8h.html#a8a03bb9d7ead5116dff0b81732300b40">kCarrierAc64OnTimerEnableOffset</a> + 1;  <span class="comment">// 39</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#adced87f4aed397ea8f2bb5ac2749dce5">   62</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#adced87f4aed397ea8f2bb5ac2749dce5">kCarrierAc64TimerSize</a> = 4;</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a78a34b51e51dc3b4129f350673c9fa96">   63</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a78a34b51e51dc3b4129f350673c9fa96">kCarrierAc64TimerMax</a> = 9;  <span class="comment">// Hours.</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#aeebac3e61246f2e148806d4b4e8ac13e">   64</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#aeebac3e61246f2e148806d4b4e8ac13e">kCarrierAc64TimerMin</a> = 1;  <span class="comment">// Hours.</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#ad2fd8df9a5114e0fc34a3657aac61f9c">   65</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#ad2fd8df9a5114e0fc34a3657aac61f9c">kCarrierAc64OnTimerOffset</a> =</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <a class="code" href="ir__Carrier_8h.html#a8ae023f5e44d5c29df41ab0f5cd534a0">kCarrierAc64SleepOffset</a> + 12 + 1;  <span class="comment">// 52</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a0c9189a86abe1bc41f9db34e4ab77172">   67</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a0c9189a86abe1bc41f9db34e4ab77172">kCarrierAc64OffTimerOffset</a> = <a class="code" href="ir__Carrier_8h.html#ad2fd8df9a5114e0fc34a3657aac61f9c">kCarrierAc64OnTimerOffset</a> +</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;                                           <a class="code" href="ir__Carrier_8h.html#adced87f4aed397ea8f2bb5ac2749dce5">kCarrierAc64TimerSize</a> + 4;  <span class="comment">// 60</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">// Classes</span></div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classIRCarrierAc64.html">   74</a></span>&#160;<span class="keyword">class </span><a class="code" href="classIRCarrierAc64.html">IRCarrierAc64</a> {</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classIRCarrierAc64.html#ac225c0f24a0e385a145375ff447ab79b">IRCarrierAc64</a>(<span class="keyword">const</span> uint16_t pin, <span class="keyword">const</span> <span class="keywordtype">bool</span> inverted = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#abe58c8f97ab4c34fd0cf198b07589694">stateReset</a>();</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#if SEND_CARRIER_AC64</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#aace8aa2d125c6e80bcdd6d96eac722c2">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#a8b2b3670dc74ce9fbf3c8b511422a06c">kCarrierAc64MinRepeat</a>);</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classIRCarrierAc64.html#a0718376156750e66f98ea0549c75b21b">   86</a></span>&#160;  int8_t <a class="code" href="classIRCarrierAc64.html#a0718376156750e66f98ea0549c75b21b">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRCarrierAc64.html#a17270f2b1d6cab828e2a51fc23b36437">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#endif  // SEND_CARRIER_AC64</span></div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a7d9800edffad8a529971535ada5c00ad">begin</a>();</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRCarrierAc64.html#a20676dcf4b0a6510cc3bce282fbf8504">calcChecksum</a>(<span class="keyword">const</span> uint64_t state);</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#affa23f178e079cd3a6c933240759fe80">validChecksum</a>(<span class="keyword">const</span> uint64_t state);</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a8acf59cbf3b02381b5188324030b7727">setPower</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#a39c13b713e36fbf94605f251b36bdfae">on</a>);</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#ad50ebb44815e55cc0a99f4762939dc54">getPower</a>();</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a39c13b713e36fbf94605f251b36bdfae">on</a>();</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#ac7a262d768626f01dac94f5e2891c98e">off</a>();</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a79e193514ac6d07be537a78887426311">setTemp</a>(<span class="keyword">const</span> uint8_t temp);</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  uint8_t <a class="code" href="classIRCarrierAc64.html#a799edf21e766b8ae2638a9b1e1d18ac1">getTemp</a>();</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a61a3f9f29cabc0634a9a74fc2227d8c5">setSwingV</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#a39c13b713e36fbf94605f251b36bdfae">on</a>);</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#a78aac688a4b040b2b6102fac8b028bde">getSwingV</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#aa729dbef39afeeed8e83f26b927d3b21">setSleep</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#a39c13b713e36fbf94605f251b36bdfae">on</a>);</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#a24f208b955af86f6927ac97b7f7066d5">getSleep</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a312027468b508e9d38dd9e23ee99f9e4">setFan</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  uint8_t <a class="code" href="classIRCarrierAc64.html#a93bb27688657af434d57f0dd9a159566">getFan</a>();</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#ae462eeec49ff91358f1b9921750ee36d">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  uint8_t <a class="code" href="classIRCarrierAc64.html#a4f8e0435a086ec934b10e9bd66f2ae85">getMode</a>();</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a9049a8d91200b878cc2a1b9b80a280ea">setOnTimer</a>(<span class="keyword">const</span> uint16_t nr_of_mins);</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  uint16_t <a class="code" href="classIRCarrierAc64.html#a071ebd204e56e2cd771281b1c42b9cb5">getOnTimer</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a92b1066e783db1bdffabfdc57699deef">setOffTimer</a>(<span class="keyword">const</span> uint16_t nr_of_mins);</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  uint16_t <a class="code" href="classIRCarrierAc64.html#a6a28f83442d695385f76f13913c76542">getOffTimer</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  uint64_t <a class="code" href="classIRCarrierAc64.html#ad40279db2c9bd3d1abb5a6e028ec0d80">getRaw</a>();</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#af49cf0b53bf8ff946a63bae94be0251d">setRaw</a>(<span class="keyword">const</span> uint64_t state);</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  uint8_t <a class="code" href="classIRCarrierAc64.html#a8e94b1526b26cec55f1e700c86aaf74e">convertMode</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> mode);</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  uint8_t <a class="code" href="classIRCarrierAc64.html#a255e6679397434877f1c6c9ac70fff50">convertFan</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> speed);</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRCarrierAc64.html#ab17b24d0306b8983886d15175898909e">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRCarrierAc64.html#a5a9149acc82fcc22a5be8dcbe791ab77">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRCarrierAc64.html#a7c4a84d0d9f1e78ba611e118ddb90635">toCommon</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRCarrierAc64.html#acede081614a80ae46345d4ae45e39ab2">toString</a>();</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classIRCarrierAc64.html#a17270f2b1d6cab828e2a51fc23b36437">  120</a></span>&#160;  <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRCarrierAc64.html#a17270f2b1d6cab828e2a51fc23b36437">_irsend</a>;  </div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  IRsendTest <a class="code" href="classIRCarrierAc64.html#a17270f2b1d6cab828e2a51fc23b36437">_irsend</a>;  </div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classIRCarrierAc64.html#a257272c7cb54f5854e79053c8223a43e">  126</a></span>&#160;  uint64_t <a class="code" href="classIRCarrierAc64.html#a257272c7cb54f5854e79053c8223a43e">remote_state</a>;  </div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a005fab56acf94fe97db7fa92651b2882">checksum</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a43e7be5a1a6fe2dbfe245e99d2205779">_cancelOnTimer</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a4a0fdf34836b1c954b27c9b242324679">_cancelOffTimer</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;};</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#endif  // IR_CARRIER_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="air__Carrier_8h_html_a9e7a88bf52839ecb34da1966bb8a956b"><div class="ttname"><a href="ir__Carrier_8h.html#a9e7a88bf52839ecb34da1966bb8a956b">kCarrierAc64MinTemp</a></div><div class="ttdeci">const uint8_t kCarrierAc64MinTemp</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:51</div></div>
<div class="ttc" id="air__Carrier_8h_html_aeebac3e61246f2e148806d4b4e8ac13e"><div class="ttname"><a href="ir__Carrier_8h.html#aeebac3e61246f2e148806d4b4e8ac13e">kCarrierAc64TimerMin</a></div><div class="ttdeci">const uint8_t kCarrierAc64TimerMin</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:64</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ac7a262d768626f01dac94f5e2891c98e"><div class="ttname"><a href="classIRCarrierAc64.html#ac7a262d768626f01dac94f5e2891c98e">IRCarrierAc64::off</a></div><div class="ttdeci">void off()</div><div class="ttdoc">Change the power setting to Off.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:318</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a6a28f83442d695385f76f13913c76542"><div class="ttname"><a href="classIRCarrierAc64.html#a6a28f83442d695385f76f13913c76542">IRCarrierAc64::getOffTimer</a></div><div class="ttdeci">uint16_t getOffTimer(void)</div><div class="ttdoc">Get the current Off Timer time.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:474</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a8acf59cbf3b02381b5188324030b7727"><div class="ttname"><a href="classIRCarrierAc64.html#a8acf59cbf3b02381b5188324030b7727">IRCarrierAc64::setPower</a></div><div class="ttdeci">void setPower(const bool on)</div><div class="ttdoc">Change the power setting.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:304</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a005fab56acf94fe97db7fa92651b2882"><div class="ttname"><a href="classIRCarrierAc64.html#a005fab56acf94fe97db7fa92651b2882">IRCarrierAc64::checksum</a></div><div class="ttdeci">void checksum(void)</div><div class="ttdoc">Calculate and set the checksum values for the internal state.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:259</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a78aac688a4b040b2b6102fac8b028bde"><div class="ttname"><a href="classIRCarrierAc64.html#a78aac688a4b040b2b6102fac8b028bde">IRCarrierAc64::getSwingV</a></div><div class="ttdeci">bool getSwingV(void)</div><div class="ttdoc">Get the Vertical Swing mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:412</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ac225c0f24a0e385a145375ff447ab79b"><div class="ttname"><a href="classIRCarrierAc64.html#ac225c0f24a0e385a145375ff447ab79b">IRCarrierAc64::IRCarrierAc64</a></div><div class="ttdeci">IRCarrierAc64(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</div><div class="ttdoc">Class constructor.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:228</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a39c13b713e36fbf94605f251b36bdfae"><div class="ttname"><a href="classIRCarrierAc64.html#a39c13b713e36fbf94605f251b36bdfae">IRCarrierAc64::on</a></div><div class="ttdeci">void on()</div><div class="ttdoc">Change the power setting to On.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:315</div></div>
<div class="ttc" id="anamespacestdAc_html_a8bb0dbf18fe69f639f4ac0b3ff133383"><div class="ttname"><a href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a></div><div class="ttdeci">fanspeed_t</div><div class="ttdoc">Common A/C settings for Fan Speeds.</div><div class="ttdef"><b>Definition:</b> IRsend.h:58</div></div>
<div class="ttc" id="air__Carrier_8h_html_a8ae023f5e44d5c29df41ab0f5cd534a0"><div class="ttname"><a href="ir__Carrier_8h.html#a8ae023f5e44d5c29df41ab0f5cd534a0">kCarrierAc64SleepOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64SleepOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:60</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a7c4a84d0d9f1e78ba611e118ddb90635"><div class="ttname"><a href="classIRCarrierAc64.html#a7c4a84d0d9f1e78ba611e118ddb90635">IRCarrierAc64::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(void)</div><div class="ttdoc">Convert the A/C state to it's common stdAc::state_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:523</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a257272c7cb54f5854e79053c8223a43e"><div class="ttname"><a href="classIRCarrierAc64.html#a257272c7cb54f5854e79053c8223a43e">IRCarrierAc64::remote_state</a></div><div class="ttdeci">uint64_t remote_state</div><div class="ttdoc">The state of the IR remote.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:126</div></div>
<div class="ttc" id="air__Carrier_8h_html_ac261ba8bff6f103bb9043c85a6f21d58"><div class="ttname"><a href="ir__Carrier_8h.html#ac261ba8bff6f103bb9043c85a6f21d58">kCarrierAc64Heat</a></div><div class="ttdeci">const uint8_t kCarrierAc64Heat</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:38</div></div>
<div class="ttc" id="aIRsend_8h_html"><div class="ttname"><a href="IRsend_8h.html">IRsend.h</a></div></div>
<div class="ttc" id="air__Carrier_8h_html_aebcfb795028fea2d1b4bfde9a045e672"><div class="ttname"><a href="ir__Carrier_8h.html#aebcfb795028fea2d1b4bfde9a045e672">kCarrierAc64FanSize</a></div><div class="ttdeci">const uint8_t kCarrierAc64FanSize</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:43</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ad40279db2c9bd3d1abb5a6e028ec0d80"><div class="ttname"><a href="classIRCarrierAc64.html#ad40279db2c9bd3d1abb5a6e028ec0d80">IRCarrierAc64::getRaw</a></div><div class="ttdeci">uint64_t getRaw()</div><div class="ttdoc">Get a copy of the internal state as a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:277</div></div>
<div class="ttc" id="aclassIRsend_html"><div class="ttname"><a href="classIRsend.html">IRsend</a></div><div class="ttdoc">Class for sending all basic IR protocols.</div><div class="ttdef"><b>Definition:</b> IRsend.h:170</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a43e7be5a1a6fe2dbfe245e99d2205779"><div class="ttname"><a href="classIRCarrierAc64.html#a43e7be5a1a6fe2dbfe245e99d2205779">IRCarrierAc64::_cancelOnTimer</a></div><div class="ttdeci">void _cancelOnTimer(void)</div><div class="ttdoc">Clear the On Timer enable bit.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:436</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a7d9800edffad8a529971535ada5c00ad"><div class="ttname"><a href="classIRCarrierAc64.html#a7d9800edffad8a529971535ada5c00ad">IRCarrierAc64::begin</a></div><div class="ttdeci">void begin()</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:265</div></div>
<div class="ttc" id="air__Carrier_8h_html_aa75d5965da484d09f6f4c645cdb23869"><div class="ttname"><a href="ir__Carrier_8h.html#aa75d5965da484d09f6f4c645cdb23869">kCarrierAc64Cool</a></div><div class="ttdeci">const uint8_t kCarrierAc64Cool</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:39</div></div>
<div class="ttc" id="aclassIRsend_html_ad1776aa6c699f9eeca1eef9bb4fe355b"><div class="ttname"><a href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">IRsend::calibrate</a></div><div class="ttdeci">int8_t calibrate(uint16_t hz=38000U)</div><div class="ttdoc">Calculate &amp; set any offsets to account for execution times during sending.</div><div class="ttdef"><b>Definition:</b> IRsend.cpp:207</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ab17b24d0306b8983886d15175898909e"><div class="ttname"><a href="classIRCarrierAc64.html#ab17b24d0306b8983886d15175898909e">IRCarrierAc64::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode to it's common stdAc::opmode_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:355</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a4f8e0435a086ec934b10e9bd66f2ae85"><div class="ttname"><a href="classIRCarrierAc64.html#a4f8e0435a086ec934b10e9bd66f2ae85">IRCarrierAc64::getMode</a></div><div class="ttdeci">uint8_t getMode()</div><div class="ttdoc">Get the operating mode setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:322</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a93bb27688657af434d57f0dd9a159566"><div class="ttname"><a href="classIRCarrierAc64.html#a93bb27688657af434d57f0dd9a159566">IRCarrierAc64::getFan</a></div><div class="ttdeci">uint8_t getFan()</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:365</div></div>
<div class="ttc" id="air__Carrier_8h_html_a0c9189a86abe1bc41f9db34e4ab77172"><div class="ttname"><a href="ir__Carrier_8h.html#a0c9189a86abe1bc41f9db34e4ab77172">kCarrierAc64OffTimerOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64OffTimerOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:67</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_afbeda3fd1bdc8c37d01bdf9f5c8274ff"><div class="ttname"><a href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a></div><div class="ttdeci">std::string String</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1093</div></div>
<div class="ttc" id="air__Carrier_8h_html_a8a03bb9d7ead5116dff0b81732300b40"><div class="ttname"><a href="ir__Carrier_8h.html#a8a03bb9d7ead5116dff0b81732300b40">kCarrierAc64OnTimerEnableOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64OnTimerEnableOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:58</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a79e193514ac6d07be537a78887426311"><div class="ttname"><a href="classIRCarrierAc64.html#a79e193514ac6d07be537a78887426311">IRCarrierAc64::setTemp</a></div><div class="ttdeci">void setTemp(const uint8_t temp)</div><div class="ttdoc">Set the temp in deg C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:288</div></div>
<div class="ttc" id="air__Carrier_8h_html_ad2fd8df9a5114e0fc34a3657aac61f9c"><div class="ttname"><a href="ir__Carrier_8h.html#ad2fd8df9a5114e0fc34a3657aac61f9c">kCarrierAc64OnTimerOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64OnTimerOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:65</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a071ebd204e56e2cd771281b1c42b9cb5"><div class="ttname"><a href="classIRCarrierAc64.html#a071ebd204e56e2cd771281b1c42b9cb5">IRCarrierAc64::getOnTimer</a></div><div class="ttdeci">uint16_t getOnTimer(void)</div><div class="ttdoc">Get the current On Timer time.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:443</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_aace8aa2d125c6e80bcdd6d96eac722c2"><div class="ttname"><a href="classIRCarrierAc64.html#aace8aa2d125c6e80bcdd6d96eac722c2">IRCarrierAc64::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kCarrierAc64MinRepeat)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:270</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a255e6679397434877f1c6c9ac70fff50"><div class="ttname"><a href="classIRCarrierAc64.html#a255e6679397434877f1c6c9ac70fff50">IRCarrierAc64::convertFan</a></div><div class="ttdeci">uint8_t convertFan(const stdAc::fanspeed_t speed)</div><div class="ttdoc">Convert a stdAc::fanspeed_t enum into it's native speed.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:381</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a92b1066e783db1bdffabfdc57699deef"><div class="ttname"><a href="classIRCarrierAc64.html#a92b1066e783db1bdffabfdc57699deef">IRCarrierAc64::setOffTimer</a></div><div class="ttdeci">void setOffTimer(const uint16_t nr_of_mins)</div><div class="ttdoc">Set the Off Timer time.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:486</div></div>
<div class="ttc" id="air__Carrier_8h_html_a78a34b51e51dc3b4129f350673c9fa96"><div class="ttname"><a href="ir__Carrier_8h.html#a78a34b51e51dc3b4129f350673c9fa96">kCarrierAc64TimerMax</a></div><div class="ttdeci">const uint8_t kCarrierAc64TimerMax</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:63</div></div>
<div class="ttc" id="air__Carrier_8h_html_a099f2e82998bd78d25cec17a4be5f230"><div class="ttname"><a href="ir__Carrier_8h.html#a099f2e82998bd78d25cec17a4be5f230">kCarrierAc64FanHigh</a></div><div class="ttdeci">const uint8_t kCarrierAc64FanHigh</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:47</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html"><div class="ttname"><a href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a></div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_affa23f178e079cd3a6c933240759fe80"><div class="ttname"><a href="classIRCarrierAc64.html#affa23f178e079cd3a6c933240759fe80">IRCarrierAc64::validChecksum</a></div><div class="ttdeci">static bool validChecksum(const uint64_t state)</div><div class="ttdoc">Verify the checksum is valid for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:252</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ad50ebb44815e55cc0a99f4762939dc54"><div class="ttname"><a href="classIRCarrierAc64.html#ad50ebb44815e55cc0a99f4762939dc54">IRCarrierAc64::getPower</a></div><div class="ttdeci">bool getPower()</div><div class="ttdoc">Get the value of the current power setting.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:310</div></div>
<div class="ttc" id="air__Carrier_8h_html_aeb8943f8d9f2bd95a9df6500eea7cba4"><div class="ttname"><a href="ir__Carrier_8h.html#aeb8943f8d9f2bd95a9df6500eea7cba4">kCarrierAc64FanMedium</a></div><div class="ttdeci">const uint8_t kCarrierAc64FanMedium</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:46</div></div>
<div class="ttc" id="air__Carrier_8h_html_a5653bc180a4c849b5e0b33b957255ae4"><div class="ttname"><a href="ir__Carrier_8h.html#a5653bc180a4c849b5e0b33b957255ae4">kCarrierAc64MaxTemp</a></div><div class="ttdeci">const uint8_t kCarrierAc64MaxTemp</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:52</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html"><div class="ttname"><a href="classIRCarrierAc64.html">IRCarrierAc64</a></div><div class="ttdoc">Class for handling detailed Carrier 64 bit A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:74</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a799edf21e766b8ae2638a9b1e1d18ac1"><div class="ttname"><a href="classIRCarrierAc64.html#a799edf21e766b8ae2638a9b1e1d18ac1">IRCarrierAc64::getTemp</a></div><div class="ttdeci">uint8_t getTemp()</div><div class="ttdoc">Get the current temperature from the internal state.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:297</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a17270f2b1d6cab828e2a51fc23b36437"><div class="ttname"><a href="classIRCarrierAc64.html#a17270f2b1d6cab828e2a51fc23b36437">IRCarrierAc64::_irsend</a></div><div class="ttdeci">IRsend _irsend</div><div class="ttdoc">Instance of the IR send class.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:120</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_abe58c8f97ab4c34fd0cf198b07589694"><div class="ttname"><a href="classIRCarrierAc64.html#abe58c8f97ab4c34fd0cf198b07589694">IRCarrierAc64::stateReset</a></div><div class="ttdeci">void stateReset()</div><div class="ttdoc">Reset the internal state to a fixed known good state.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:234</div></div>
<div class="ttc" id="air__Carrier_8h_html_a1afcf0873e42c5cda5328bfe97d97ade"><div class="ttname"><a href="ir__Carrier_8h.html#a1afcf0873e42c5cda5328bfe97d97ade">kCarrierAc64OffTimerEnableOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64OffTimerEnableOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:56</div></div>
<div class="ttc" id="air__Carrier_8h_html_a186dcc18acb75f98370d71f4640f02ce"><div class="ttname"><a href="ir__Carrier_8h.html#a186dcc18acb75f98370d71f4640f02ce">kCarrierAc64SwingVOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64SwingVOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:53</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a20676dcf4b0a6510cc3bce282fbf8504"><div class="ttname"><a href="classIRCarrierAc64.html#a20676dcf4b0a6510cc3bce282fbf8504">IRCarrierAc64::calcChecksum</a></div><div class="ttdeci">static uint8_t calcChecksum(const uint64_t state)</div><div class="ttdoc">Calculate the checksum for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:239</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a0718376156750e66f98ea0549c75b21b"><div class="ttname"><a href="classIRCarrierAc64.html#a0718376156750e66f98ea0549c75b21b">IRCarrierAc64::calibrate</a></div><div class="ttdeci">int8_t calibrate(void)</div><div class="ttdoc">Run the calibration to calculate uSec timing offsets for this platform.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:86</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_af49cf0b53bf8ff946a63bae94be0251d"><div class="ttname"><a href="classIRCarrierAc64.html#af49cf0b53bf8ff946a63bae94be0251d">IRCarrierAc64::setRaw</a></div><div class="ttdeci">void setRaw(const uint64_t state)</div><div class="ttdoc">Set the internal state from a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:284</div></div>
<div class="ttc" id="air__Carrier_8h_html_adced87f4aed397ea8f2bb5ac2749dce5"><div class="ttname"><a href="ir__Carrier_8h.html#adced87f4aed397ea8f2bb5ac2749dce5">kCarrierAc64TimerSize</a></div><div class="ttdeci">const uint8_t kCarrierAc64TimerSize</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:62</div></div>
<div class="ttc" id="air__Carrier_8h_html_a57655ceea762b18e0dd96724ddf888bd"><div class="ttname"><a href="ir__Carrier_8h.html#a57655ceea762b18e0dd96724ddf888bd">kCarrierAc64Fan</a></div><div class="ttdeci">const uint8_t kCarrierAc64Fan</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:40</div></div>
<div class="ttc" id="air__Carrier_8h_html_a0b446c17c4965508f335e68c786f0596"><div class="ttname"><a href="ir__Carrier_8h.html#a0b446c17c4965508f335e68c786f0596">kCarrierAc64ChecksumSize</a></div><div class="ttdeci">const uint8_t kCarrierAc64ChecksumSize</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:34</div></div>
<div class="ttc" id="air__Carrier_8h_html_a7f2ef38df606cb00f1c859914fc6f085"><div class="ttname"><a href="ir__Carrier_8h.html#a7f2ef38df606cb00f1c859914fc6f085">kCarrierAc64ModeOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64ModeOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:35</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a24f208b955af86f6927ac97b7f7066d5"><div class="ttname"><a href="classIRCarrierAc64.html#a24f208b955af86f6927ac97b7f7066d5">IRCarrierAc64::getSleep</a></div><div class="ttdeci">bool getSleep(void)</div><div class="ttdoc">Get the Sleep mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:431</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a9049a8d91200b878cc2a1b9b80a280ea"><div class="ttname"><a href="classIRCarrierAc64.html#a9049a8d91200b878cc2a1b9b80a280ea">IRCarrierAc64::setOnTimer</a></div><div class="ttdeci">void setOnTimer(const uint16_t nr_of_mins)</div><div class="ttdoc">Set the On Timer time.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:455</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a8e94b1526b26cec55f1e700c86aaf74e"><div class="ttname"><a href="classIRCarrierAc64.html#a8e94b1526b26cec55f1e700c86aaf74e">IRCarrierAc64::convertMode</a></div><div class="ttdeci">uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a standard A/C mode into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:344</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a8b2b3670dc74ce9fbf3c8b511422a06c"><div class="ttname"><a href="IRremoteESP8266_8h.html#a8b2b3670dc74ce9fbf3c8b511422a06c">kCarrierAc64MinRepeat</a></div><div class="ttdeci">const uint16_t kCarrierAc64MinRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:831</div></div>
<div class="ttc" id="air__Carrier_8h_html_aaeee61e5924bdc8028c4775f96ba14d2"><div class="ttname"><a href="ir__Carrier_8h.html#aaeee61e5924bdc8028c4775f96ba14d2">kCarrierAc64FanLow</a></div><div class="ttdeci">const uint8_t kCarrierAc64FanLow</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:45</div></div>
<div class="ttc" id="air__Carrier_8h_html_a12d1fb295a0d9cf407040ab544acc245"><div class="ttname"><a href="ir__Carrier_8h.html#a12d1fb295a0d9cf407040ab544acc245">kCarrierAc64FanAuto</a></div><div class="ttdeci">const uint8_t kCarrierAc64FanAuto</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:44</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a5a9149acc82fcc22a5be8dcbe791ab77"><div class="ttname"><a href="classIRCarrierAc64.html#a5a9149acc82fcc22a5be8dcbe791ab77">IRCarrierAc64::toCommonFanSpeed</a></div><div class="ttdeci">static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)</div><div class="ttdoc">Convert a native fan speed into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:395</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a312027468b508e9d38dd9e23ee99f9e4"><div class="ttname"><a href="classIRCarrierAc64.html#a312027468b508e9d38dd9e23ee99f9e4">IRCarrierAc64::setFan</a></div><div class="ttdeci">void setFan(const uint8_t speed)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:371</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ae462eeec49ff91358f1b9921750ee36d"><div class="ttname"><a href="classIRCarrierAc64.html#ae462eeec49ff91358f1b9921750ee36d">IRCarrierAc64::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the operating mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:328</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a61a3f9f29cabc0634a9a74fc2227d8c5"><div class="ttname"><a href="classIRCarrierAc64.html#a61a3f9f29cabc0634a9a74fc2227d8c5">IRCarrierAc64::setSwingV</a></div><div class="ttdeci">void setSwingV(const bool on)</div><div class="ttdoc">Set the Vertical Swing mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:406</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_aa729dbef39afeeed8e83f26b927d3b21"><div class="ttname"><a href="classIRCarrierAc64.html#aa729dbef39afeeed8e83f26b927d3b21">IRCarrierAc64::setSleep</a></div><div class="ttdeci">void setSleep(const bool on)</div><div class="ttdoc">Set the Sleep mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:418</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a4a0fdf34836b1c954b27c9b242324679"><div class="ttname"><a href="classIRCarrierAc64.html#a4a0fdf34836b1c954b27c9b242324679">IRCarrierAc64::_cancelOffTimer</a></div><div class="ttdeci">void _cancelOffTimer(void)</div><div class="ttdoc">Clear the Off Timer enable bit.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:467</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_acede081614a80ae46345d4ae45e39ab2"><div class="ttname"><a href="classIRCarrierAc64.html#acede081614a80ae46345d4ae45e39ab2">IRCarrierAc64::toString</a></div><div class="ttdeci">String toString()</div><div class="ttdoc">Convert the internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:500</div></div>
<div class="ttc" id="air__Carrier_8h_html_a943b94e79e98237678b66f6f4a1b6af4"><div class="ttname"><a href="ir__Carrier_8h.html#a943b94e79e98237678b66f6f4a1b6af4">kCarrierAc64PowerOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64PowerOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:55</div></div>
<div class="ttc" id="astructstdAc_1_1state__t_html"><div class="ttname"><a href="structstdAc_1_1state__t.html">stdAc::state_t</a></div><div class="ttdoc">Structure to hold a common A/C state.</div><div class="ttdef"><b>Definition:</b> IRsend.h:97</div></div>
<div class="ttc" id="air__Carrier_8h_html_a8d28dd57b7ad6b9f4bb2ba11fa4b63f7"><div class="ttname"><a href="ir__Carrier_8h.html#a8d28dd57b7ad6b9f4bb2ba11fa4b63f7">kCarrierAc64ModeSize</a></div><div class="ttdeci">const uint8_t kCarrierAc64ModeSize</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:37</div></div>
<div class="ttc" id="air__Carrier_8h_html_a3d3663b7e55cae59f1b8bba5ffbb5fad"><div class="ttname"><a href="ir__Carrier_8h.html#a3d3663b7e55cae59f1b8bba5ffbb5fad">kCarrierAc64TempOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64TempOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:48</div></div>
<div class="ttc" id="air__Carrier_8h_html_ae9e16d5ab69b493607ce84dfbded150f"><div class="ttname"><a href="ir__Carrier_8h.html#ae9e16d5ab69b493607ce84dfbded150f">kCarrierAc64TempSize</a></div><div class="ttdeci">const uint8_t kCarrierAc64TempSize</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:50</div></div>
<div class="ttc" id="air__Carrier_8h_html_a3aa65474b5be8c77d498b7e83d8b8f31"><div class="ttname"><a href="ir__Carrier_8h.html#a3aa65474b5be8c77d498b7e83d8b8f31">kCarrierAc64ChecksumOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64ChecksumOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:33</div></div>
<div class="ttc" id="air__Carrier_8h_html_abbd2da4887e1c313df40506c82cba836"><div class="ttname"><a href="ir__Carrier_8h.html#abbd2da4887e1c313df40506c82cba836">kCarrierAc64FanOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64FanOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:41</div></div>
<div class="ttc" id="anamespacestdAc_html_a99ad268c783486f9b3207cb78f48444f"><div class="ttname"><a href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a></div><div class="ttdeci">opmode_t</div><div class="ttdoc">Common A/C settings for A/C operating modes.</div><div class="ttdef"><b>Definition:</b> IRsend.h:46</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
